/**
 */
package org.mro.grib.model.files.secondEdition.grids.impl;

import java.nio.ByteBuffer;

import org.eclipse.emf.common.notify.Notification;

import org.eclipse.emf.ecore.EClass;

import org.eclipse.emf.ecore.impl.ENotificationImpl;

import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate312;
import org.mro.grib.model.files.secondEdition.grids.GridsPackage;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Grid Definition Template312</b></em>'.
 * <!-- end-user-doc -->
 * <p>
 * The following features are implemented:
 * <ul>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getNumberOfPointsAlongAParallel <em>Number Of Points Along AParallel</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getNumberOfPointsAlongAMeridian <em>Number Of Points Along AMeridian</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getGeographicLatitudeOfReferencePoint <em>Geographic Latitude Of Reference Point</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getGeographicLongitudeOfReferencePoint <em>Geographic Longitude Of Reference Point</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getResolutionAndComponentFlags <em>Resolution And Component Flags</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getScaleFactorAtReferencePoint <em>Scale Factor At Reference Point</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getIDirectionCoordinateOfReferencePoint <em>IDirection Coordinate Of Reference Point</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getJDirectionCoordinateOfReferencePoint <em>JDirection Coordinate Of Reference Point</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getScanningMode <em>Scanning Mode</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getIDirectionIncrementLength <em>IDirection Increment Length</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getJDirectionIncrementLength <em>JDirection Increment Length</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getIDirectionCoordinateOfTheFirstGridPoint <em>IDirection Coordinate Of The First Grid Point</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getJDirectionCoordinateOfTheFirstGridPoint <em>JDirection Coordinate Of The First Grid Point</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getIDirectionCoordinateOfTheLastGridPoint <em>IDirection Coordinate Of The Last Grid Point</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.impl.GridDefinitionTemplate312Impl#getJDirectionCoordinateOfTheLastGridPoint <em>JDirection Coordinate Of The Last Grid Point</em>}</li>
 * </ul>
 * </p>
 *
 * @generated
 */
public class GridDefinitionTemplate312Impl extends EarthShapeGridDefinitionImpl implements GridDefinitionTemplate312 {
	/**
	 * The default value of the '{@link #getNumberOfPointsAlongAParallel() <em>Number Of Points Along AParallel</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getNumberOfPointsAlongAParallel()
	 * @generated
	 * @ordered
	 */
	protected static final int NUMBER_OF_POINTS_ALONG_APARALLEL_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getNumberOfPointsAlongAParallel() <em>Number Of Points Along AParallel</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getNumberOfPointsAlongAParallel()
	 * @generated
	 * @ordered
	 */
	protected int numberOfPointsAlongAParallel = NUMBER_OF_POINTS_ALONG_APARALLEL_EDEFAULT;

	/**
	 * The default value of the '{@link #getNumberOfPointsAlongAMeridian() <em>Number Of Points Along AMeridian</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getNumberOfPointsAlongAMeridian()
	 * @generated
	 * @ordered
	 */
	protected static final int NUMBER_OF_POINTS_ALONG_AMERIDIAN_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getNumberOfPointsAlongAMeridian() <em>Number Of Points Along AMeridian</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getNumberOfPointsAlongAMeridian()
	 * @generated
	 * @ordered
	 */
	protected int numberOfPointsAlongAMeridian = NUMBER_OF_POINTS_ALONG_AMERIDIAN_EDEFAULT;

	/**
	 * The default value of the '{@link #getGeographicLatitudeOfReferencePoint() <em>Geographic Latitude Of Reference Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getGeographicLatitudeOfReferencePoint()
	 * @generated
	 * @ordered
	 */
	protected static final int GEOGRAPHIC_LATITUDE_OF_REFERENCE_POINT_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getGeographicLatitudeOfReferencePoint() <em>Geographic Latitude Of Reference Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getGeographicLatitudeOfReferencePoint()
	 * @generated
	 * @ordered
	 */
	protected int geographicLatitudeOfReferencePoint = GEOGRAPHIC_LATITUDE_OF_REFERENCE_POINT_EDEFAULT;

	/**
	 * The default value of the '{@link #getGeographicLongitudeOfReferencePoint() <em>Geographic Longitude Of Reference Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getGeographicLongitudeOfReferencePoint()
	 * @generated
	 * @ordered
	 */
	protected static final int GEOGRAPHIC_LONGITUDE_OF_REFERENCE_POINT_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getGeographicLongitudeOfReferencePoint() <em>Geographic Longitude Of Reference Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getGeographicLongitudeOfReferencePoint()
	 * @generated
	 * @ordered
	 */
	protected int geographicLongitudeOfReferencePoint = GEOGRAPHIC_LONGITUDE_OF_REFERENCE_POINT_EDEFAULT;

	/**
	 * The default value of the '{@link #getResolutionAndComponentFlags() <em>Resolution And Component Flags</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getResolutionAndComponentFlags()
	 * @generated
	 * @ordered
	 */
	protected static final byte RESOLUTION_AND_COMPONENT_FLAGS_EDEFAULT = 0x00;

	/**
	 * The cached value of the '{@link #getResolutionAndComponentFlags() <em>Resolution And Component Flags</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getResolutionAndComponentFlags()
	 * @generated
	 * @ordered
	 */
	protected byte resolutionAndComponentFlags = RESOLUTION_AND_COMPONENT_FLAGS_EDEFAULT;

	/**
	 * The default value of the '{@link #getScaleFactorAtReferencePoint() <em>Scale Factor At Reference Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getScaleFactorAtReferencePoint()
	 * @generated
	 * @ordered
	 */
	protected static final int SCALE_FACTOR_AT_REFERENCE_POINT_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getScaleFactorAtReferencePoint() <em>Scale Factor At Reference Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getScaleFactorAtReferencePoint()
	 * @generated
	 * @ordered
	 */
	protected int scaleFactorAtReferencePoint = SCALE_FACTOR_AT_REFERENCE_POINT_EDEFAULT;

	/**
	 * The default value of the '{@link #getIDirectionCoordinateOfReferencePoint() <em>IDirection Coordinate Of Reference Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getIDirectionCoordinateOfReferencePoint()
	 * @generated
	 * @ordered
	 */
	protected static final int IDIRECTION_COORDINATE_OF_REFERENCE_POINT_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getIDirectionCoordinateOfReferencePoint() <em>IDirection Coordinate Of Reference Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getIDirectionCoordinateOfReferencePoint()
	 * @generated
	 * @ordered
	 */
	protected int iDirectionCoordinateOfReferencePoint = IDIRECTION_COORDINATE_OF_REFERENCE_POINT_EDEFAULT;

	/**
	 * The default value of the '{@link #getJDirectionCoordinateOfReferencePoint() <em>JDirection Coordinate Of Reference Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getJDirectionCoordinateOfReferencePoint()
	 * @generated
	 * @ordered
	 */
	protected static final int JDIRECTION_COORDINATE_OF_REFERENCE_POINT_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getJDirectionCoordinateOfReferencePoint() <em>JDirection Coordinate Of Reference Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getJDirectionCoordinateOfReferencePoint()
	 * @generated
	 * @ordered
	 */
	protected int jDirectionCoordinateOfReferencePoint = JDIRECTION_COORDINATE_OF_REFERENCE_POINT_EDEFAULT;

	/**
	 * The default value of the '{@link #getScanningMode() <em>Scanning Mode</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getScanningMode()
	 * @generated
	 * @ordered
	 */
	protected static final byte SCANNING_MODE_EDEFAULT = 0x00;

	/**
	 * The cached value of the '{@link #getScanningMode() <em>Scanning Mode</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getScanningMode()
	 * @generated
	 * @ordered
	 */
	protected byte scanningMode = SCANNING_MODE_EDEFAULT;

	/**
	 * The default value of the '{@link #getIDirectionIncrementLength() <em>IDirection Increment Length</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getIDirectionIncrementLength()
	 * @generated
	 * @ordered
	 */
	protected static final int IDIRECTION_INCREMENT_LENGTH_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getIDirectionIncrementLength() <em>IDirection Increment Length</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getIDirectionIncrementLength()
	 * @generated
	 * @ordered
	 */
	protected int iDirectionIncrementLength = IDIRECTION_INCREMENT_LENGTH_EDEFAULT;

	/**
	 * The default value of the '{@link #getJDirectionIncrementLength() <em>JDirection Increment Length</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getJDirectionIncrementLength()
	 * @generated
	 * @ordered
	 */
	protected static final int JDIRECTION_INCREMENT_LENGTH_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getJDirectionIncrementLength() <em>JDirection Increment Length</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getJDirectionIncrementLength()
	 * @generated
	 * @ordered
	 */
	protected int jDirectionIncrementLength = JDIRECTION_INCREMENT_LENGTH_EDEFAULT;

	/**
	 * The default value of the '{@link #getIDirectionCoordinateOfTheFirstGridPoint() <em>IDirection Coordinate Of The First Grid Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getIDirectionCoordinateOfTheFirstGridPoint()
	 * @generated
	 * @ordered
	 */
	protected static final int IDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getIDirectionCoordinateOfTheFirstGridPoint() <em>IDirection Coordinate Of The First Grid Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getIDirectionCoordinateOfTheFirstGridPoint()
	 * @generated
	 * @ordered
	 */
	protected int iDirectionCoordinateOfTheFirstGridPoint = IDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT_EDEFAULT;

	/**
	 * The default value of the '{@link #getJDirectionCoordinateOfTheFirstGridPoint() <em>JDirection Coordinate Of The First Grid Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getJDirectionCoordinateOfTheFirstGridPoint()
	 * @generated
	 * @ordered
	 */
	protected static final int JDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getJDirectionCoordinateOfTheFirstGridPoint() <em>JDirection Coordinate Of The First Grid Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getJDirectionCoordinateOfTheFirstGridPoint()
	 * @generated
	 * @ordered
	 */
	protected int jDirectionCoordinateOfTheFirstGridPoint = JDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT_EDEFAULT;

	/**
	 * The default value of the '{@link #getIDirectionCoordinateOfTheLastGridPoint() <em>IDirection Coordinate Of The Last Grid Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getIDirectionCoordinateOfTheLastGridPoint()
	 * @generated
	 * @ordered
	 */
	protected static final int IDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getIDirectionCoordinateOfTheLastGridPoint() <em>IDirection Coordinate Of The Last Grid Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getIDirectionCoordinateOfTheLastGridPoint()
	 * @generated
	 * @ordered
	 */
	protected int iDirectionCoordinateOfTheLastGridPoint = IDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT_EDEFAULT;

	/**
	 * The default value of the '{@link #getJDirectionCoordinateOfTheLastGridPoint() <em>JDirection Coordinate Of The Last Grid Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getJDirectionCoordinateOfTheLastGridPoint()
	 * @generated
	 * @ordered
	 */
	protected static final int JDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getJDirectionCoordinateOfTheLastGridPoint() <em>JDirection Coordinate Of The Last Grid Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getJDirectionCoordinateOfTheLastGridPoint()
	 * @generated
	 * @ordered
	 */
	protected int jDirectionCoordinateOfTheLastGridPoint = JDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT_EDEFAULT;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected GridDefinitionTemplate312Impl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return GridsPackage.Literals.GRID_DEFINITION_TEMPLATE312;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getNumberOfPointsAlongAParallel() {
		return numberOfPointsAlongAParallel;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setNumberOfPointsAlongAParallel(int newNumberOfPointsAlongAParallel) {
		int oldNumberOfPointsAlongAParallel = numberOfPointsAlongAParallel;
		numberOfPointsAlongAParallel = newNumberOfPointsAlongAParallel;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__NUMBER_OF_POINTS_ALONG_APARALLEL, oldNumberOfPointsAlongAParallel, numberOfPointsAlongAParallel));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getNumberOfPointsAlongAMeridian() {
		return numberOfPointsAlongAMeridian;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setNumberOfPointsAlongAMeridian(int newNumberOfPointsAlongAMeridian) {
		int oldNumberOfPointsAlongAMeridian = numberOfPointsAlongAMeridian;
		numberOfPointsAlongAMeridian = newNumberOfPointsAlongAMeridian;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__NUMBER_OF_POINTS_ALONG_AMERIDIAN, oldNumberOfPointsAlongAMeridian, numberOfPointsAlongAMeridian));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getGeographicLatitudeOfReferencePoint() {
		return geographicLatitudeOfReferencePoint;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setGeographicLatitudeOfReferencePoint(int newGeographicLatitudeOfReferencePoint) {
		int oldGeographicLatitudeOfReferencePoint = geographicLatitudeOfReferencePoint;
		geographicLatitudeOfReferencePoint = newGeographicLatitudeOfReferencePoint;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__GEOGRAPHIC_LATITUDE_OF_REFERENCE_POINT, oldGeographicLatitudeOfReferencePoint, geographicLatitudeOfReferencePoint));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getGeographicLongitudeOfReferencePoint() {
		return geographicLongitudeOfReferencePoint;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setGeographicLongitudeOfReferencePoint(int newGeographicLongitudeOfReferencePoint) {
		int oldGeographicLongitudeOfReferencePoint = geographicLongitudeOfReferencePoint;
		geographicLongitudeOfReferencePoint = newGeographicLongitudeOfReferencePoint;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__GEOGRAPHIC_LONGITUDE_OF_REFERENCE_POINT, oldGeographicLongitudeOfReferencePoint, geographicLongitudeOfReferencePoint));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public byte getResolutionAndComponentFlags() {
		return resolutionAndComponentFlags;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setResolutionAndComponentFlags(byte newResolutionAndComponentFlags) {
		byte oldResolutionAndComponentFlags = resolutionAndComponentFlags;
		resolutionAndComponentFlags = newResolutionAndComponentFlags;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__RESOLUTION_AND_COMPONENT_FLAGS, oldResolutionAndComponentFlags, resolutionAndComponentFlags));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getScaleFactorAtReferencePoint() {
		return scaleFactorAtReferencePoint;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setScaleFactorAtReferencePoint(int newScaleFactorAtReferencePoint) {
		int oldScaleFactorAtReferencePoint = scaleFactorAtReferencePoint;
		scaleFactorAtReferencePoint = newScaleFactorAtReferencePoint;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__SCALE_FACTOR_AT_REFERENCE_POINT, oldScaleFactorAtReferencePoint, scaleFactorAtReferencePoint));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getIDirectionCoordinateOfReferencePoint() {
		return iDirectionCoordinateOfReferencePoint;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setIDirectionCoordinateOfReferencePoint(int newIDirectionCoordinateOfReferencePoint) {
		int oldIDirectionCoordinateOfReferencePoint = iDirectionCoordinateOfReferencePoint;
		iDirectionCoordinateOfReferencePoint = newIDirectionCoordinateOfReferencePoint;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_REFERENCE_POINT, oldIDirectionCoordinateOfReferencePoint, iDirectionCoordinateOfReferencePoint));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getJDirectionCoordinateOfReferencePoint() {
		return jDirectionCoordinateOfReferencePoint;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setJDirectionCoordinateOfReferencePoint(int newJDirectionCoordinateOfReferencePoint) {
		int oldJDirectionCoordinateOfReferencePoint = jDirectionCoordinateOfReferencePoint;
		jDirectionCoordinateOfReferencePoint = newJDirectionCoordinateOfReferencePoint;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_REFERENCE_POINT, oldJDirectionCoordinateOfReferencePoint, jDirectionCoordinateOfReferencePoint));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public byte getScanningMode() {
		return scanningMode;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setScanningMode(byte newScanningMode) {
		byte oldScanningMode = scanningMode;
		scanningMode = newScanningMode;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__SCANNING_MODE, oldScanningMode, scanningMode));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getIDirectionIncrementLength() {
		return iDirectionIncrementLength;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setIDirectionIncrementLength(int newIDirectionIncrementLength) {
		int oldIDirectionIncrementLength = iDirectionIncrementLength;
		iDirectionIncrementLength = newIDirectionIncrementLength;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_INCREMENT_LENGTH, oldIDirectionIncrementLength, iDirectionIncrementLength));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getJDirectionIncrementLength() {
		return jDirectionIncrementLength;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setJDirectionIncrementLength(int newJDirectionIncrementLength) {
		int oldJDirectionIncrementLength = jDirectionIncrementLength;
		jDirectionIncrementLength = newJDirectionIncrementLength;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_INCREMENT_LENGTH, oldJDirectionIncrementLength, jDirectionIncrementLength));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getIDirectionCoordinateOfTheFirstGridPoint() {
		return iDirectionCoordinateOfTheFirstGridPoint;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setIDirectionCoordinateOfTheFirstGridPoint(int newIDirectionCoordinateOfTheFirstGridPoint) {
		int oldIDirectionCoordinateOfTheFirstGridPoint = iDirectionCoordinateOfTheFirstGridPoint;
		iDirectionCoordinateOfTheFirstGridPoint = newIDirectionCoordinateOfTheFirstGridPoint;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT, oldIDirectionCoordinateOfTheFirstGridPoint, iDirectionCoordinateOfTheFirstGridPoint));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getJDirectionCoordinateOfTheFirstGridPoint() {
		return jDirectionCoordinateOfTheFirstGridPoint;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setJDirectionCoordinateOfTheFirstGridPoint(int newJDirectionCoordinateOfTheFirstGridPoint) {
		int oldJDirectionCoordinateOfTheFirstGridPoint = jDirectionCoordinateOfTheFirstGridPoint;
		jDirectionCoordinateOfTheFirstGridPoint = newJDirectionCoordinateOfTheFirstGridPoint;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT, oldJDirectionCoordinateOfTheFirstGridPoint, jDirectionCoordinateOfTheFirstGridPoint));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getIDirectionCoordinateOfTheLastGridPoint() {
		return iDirectionCoordinateOfTheLastGridPoint;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setIDirectionCoordinateOfTheLastGridPoint(int newIDirectionCoordinateOfTheLastGridPoint) {
		int oldIDirectionCoordinateOfTheLastGridPoint = iDirectionCoordinateOfTheLastGridPoint;
		iDirectionCoordinateOfTheLastGridPoint = newIDirectionCoordinateOfTheLastGridPoint;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT, oldIDirectionCoordinateOfTheLastGridPoint, iDirectionCoordinateOfTheLastGridPoint));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getJDirectionCoordinateOfTheLastGridPoint() {
		return jDirectionCoordinateOfTheLastGridPoint;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setJDirectionCoordinateOfTheLastGridPoint(int newJDirectionCoordinateOfTheLastGridPoint) {
		int oldJDirectionCoordinateOfTheLastGridPoint = jDirectionCoordinateOfTheLastGridPoint;
		jDirectionCoordinateOfTheLastGridPoint = newJDirectionCoordinateOfTheLastGridPoint;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT, oldJDirectionCoordinateOfTheLastGridPoint, jDirectionCoordinateOfTheLastGridPoint));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
		switch (featureID) {
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__NUMBER_OF_POINTS_ALONG_APARALLEL:
				return getNumberOfPointsAlongAParallel();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__NUMBER_OF_POINTS_ALONG_AMERIDIAN:
				return getNumberOfPointsAlongAMeridian();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__GEOGRAPHIC_LATITUDE_OF_REFERENCE_POINT:
				return getGeographicLatitudeOfReferencePoint();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__GEOGRAPHIC_LONGITUDE_OF_REFERENCE_POINT:
				return getGeographicLongitudeOfReferencePoint();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__RESOLUTION_AND_COMPONENT_FLAGS:
				return getResolutionAndComponentFlags();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__SCALE_FACTOR_AT_REFERENCE_POINT:
				return getScaleFactorAtReferencePoint();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_REFERENCE_POINT:
				return getIDirectionCoordinateOfReferencePoint();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_REFERENCE_POINT:
				return getJDirectionCoordinateOfReferencePoint();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__SCANNING_MODE:
				return getScanningMode();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_INCREMENT_LENGTH:
				return getIDirectionIncrementLength();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_INCREMENT_LENGTH:
				return getJDirectionIncrementLength();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT:
				return getIDirectionCoordinateOfTheFirstGridPoint();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT:
				return getJDirectionCoordinateOfTheFirstGridPoint();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT:
				return getIDirectionCoordinateOfTheLastGridPoint();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT:
				return getJDirectionCoordinateOfTheLastGridPoint();
		}
		return super.eGet(featureID, resolve, coreType);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eSet(int featureID, Object newValue) {
		switch (featureID) {
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__NUMBER_OF_POINTS_ALONG_APARALLEL:
				setNumberOfPointsAlongAParallel((Integer)newValue);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__NUMBER_OF_POINTS_ALONG_AMERIDIAN:
				setNumberOfPointsAlongAMeridian((Integer)newValue);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__GEOGRAPHIC_LATITUDE_OF_REFERENCE_POINT:
				setGeographicLatitudeOfReferencePoint((Integer)newValue);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__GEOGRAPHIC_LONGITUDE_OF_REFERENCE_POINT:
				setGeographicLongitudeOfReferencePoint((Integer)newValue);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__RESOLUTION_AND_COMPONENT_FLAGS:
				setResolutionAndComponentFlags((Byte)newValue);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__SCALE_FACTOR_AT_REFERENCE_POINT:
				setScaleFactorAtReferencePoint((Integer)newValue);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_REFERENCE_POINT:
				setIDirectionCoordinateOfReferencePoint((Integer)newValue);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_REFERENCE_POINT:
				setJDirectionCoordinateOfReferencePoint((Integer)newValue);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__SCANNING_MODE:
				setScanningMode((Byte)newValue);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_INCREMENT_LENGTH:
				setIDirectionIncrementLength((Integer)newValue);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_INCREMENT_LENGTH:
				setJDirectionIncrementLength((Integer)newValue);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT:
				setIDirectionCoordinateOfTheFirstGridPoint((Integer)newValue);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT:
				setJDirectionCoordinateOfTheFirstGridPoint((Integer)newValue);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT:
				setIDirectionCoordinateOfTheLastGridPoint((Integer)newValue);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT:
				setJDirectionCoordinateOfTheLastGridPoint((Integer)newValue);
				return;
		}
		super.eSet(featureID, newValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eUnset(int featureID) {
		switch (featureID) {
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__NUMBER_OF_POINTS_ALONG_APARALLEL:
				setNumberOfPointsAlongAParallel(NUMBER_OF_POINTS_ALONG_APARALLEL_EDEFAULT);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__NUMBER_OF_POINTS_ALONG_AMERIDIAN:
				setNumberOfPointsAlongAMeridian(NUMBER_OF_POINTS_ALONG_AMERIDIAN_EDEFAULT);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__GEOGRAPHIC_LATITUDE_OF_REFERENCE_POINT:
				setGeographicLatitudeOfReferencePoint(GEOGRAPHIC_LATITUDE_OF_REFERENCE_POINT_EDEFAULT);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__GEOGRAPHIC_LONGITUDE_OF_REFERENCE_POINT:
				setGeographicLongitudeOfReferencePoint(GEOGRAPHIC_LONGITUDE_OF_REFERENCE_POINT_EDEFAULT);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__RESOLUTION_AND_COMPONENT_FLAGS:
				setResolutionAndComponentFlags(RESOLUTION_AND_COMPONENT_FLAGS_EDEFAULT);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__SCALE_FACTOR_AT_REFERENCE_POINT:
				setScaleFactorAtReferencePoint(SCALE_FACTOR_AT_REFERENCE_POINT_EDEFAULT);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_REFERENCE_POINT:
				setIDirectionCoordinateOfReferencePoint(IDIRECTION_COORDINATE_OF_REFERENCE_POINT_EDEFAULT);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_REFERENCE_POINT:
				setJDirectionCoordinateOfReferencePoint(JDIRECTION_COORDINATE_OF_REFERENCE_POINT_EDEFAULT);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__SCANNING_MODE:
				setScanningMode(SCANNING_MODE_EDEFAULT);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_INCREMENT_LENGTH:
				setIDirectionIncrementLength(IDIRECTION_INCREMENT_LENGTH_EDEFAULT);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_INCREMENT_LENGTH:
				setJDirectionIncrementLength(JDIRECTION_INCREMENT_LENGTH_EDEFAULT);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT:
				setIDirectionCoordinateOfTheFirstGridPoint(IDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT_EDEFAULT);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT:
				setJDirectionCoordinateOfTheFirstGridPoint(JDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT_EDEFAULT);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT:
				setIDirectionCoordinateOfTheLastGridPoint(IDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT_EDEFAULT);
				return;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT:
				setJDirectionCoordinateOfTheLastGridPoint(JDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT_EDEFAULT);
				return;
		}
		super.eUnset(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public boolean eIsSet(int featureID) {
		switch (featureID) {
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__NUMBER_OF_POINTS_ALONG_APARALLEL:
				return numberOfPointsAlongAParallel != NUMBER_OF_POINTS_ALONG_APARALLEL_EDEFAULT;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__NUMBER_OF_POINTS_ALONG_AMERIDIAN:
				return numberOfPointsAlongAMeridian != NUMBER_OF_POINTS_ALONG_AMERIDIAN_EDEFAULT;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__GEOGRAPHIC_LATITUDE_OF_REFERENCE_POINT:
				return geographicLatitudeOfReferencePoint != GEOGRAPHIC_LATITUDE_OF_REFERENCE_POINT_EDEFAULT;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__GEOGRAPHIC_LONGITUDE_OF_REFERENCE_POINT:
				return geographicLongitudeOfReferencePoint != GEOGRAPHIC_LONGITUDE_OF_REFERENCE_POINT_EDEFAULT;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__RESOLUTION_AND_COMPONENT_FLAGS:
				return resolutionAndComponentFlags != RESOLUTION_AND_COMPONENT_FLAGS_EDEFAULT;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__SCALE_FACTOR_AT_REFERENCE_POINT:
				return scaleFactorAtReferencePoint != SCALE_FACTOR_AT_REFERENCE_POINT_EDEFAULT;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_REFERENCE_POINT:
				return iDirectionCoordinateOfReferencePoint != IDIRECTION_COORDINATE_OF_REFERENCE_POINT_EDEFAULT;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_REFERENCE_POINT:
				return jDirectionCoordinateOfReferencePoint != JDIRECTION_COORDINATE_OF_REFERENCE_POINT_EDEFAULT;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__SCANNING_MODE:
				return scanningMode != SCANNING_MODE_EDEFAULT;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_INCREMENT_LENGTH:
				return iDirectionIncrementLength != IDIRECTION_INCREMENT_LENGTH_EDEFAULT;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_INCREMENT_LENGTH:
				return jDirectionIncrementLength != JDIRECTION_INCREMENT_LENGTH_EDEFAULT;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT:
				return iDirectionCoordinateOfTheFirstGridPoint != IDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT_EDEFAULT;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT:
				return jDirectionCoordinateOfTheFirstGridPoint != JDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT_EDEFAULT;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT:
				return iDirectionCoordinateOfTheLastGridPoint != IDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT_EDEFAULT;
			case GridsPackage.GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT:
				return jDirectionCoordinateOfTheLastGridPoint != JDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT_EDEFAULT;
		}
		return super.eIsSet(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String toString() {
		if (eIsProxy()) return super.toString();

		StringBuffer result = new StringBuffer(super.toString());
		result.append(" (numberOfPointsAlongAParallel: "); //$NON-NLS-1$
		result.append(numberOfPointsAlongAParallel);
		result.append(", numberOfPointsAlongAMeridian: "); //$NON-NLS-1$
		result.append(numberOfPointsAlongAMeridian);
		result.append(", geographicLatitudeOfReferencePoint: "); //$NON-NLS-1$
		result.append(geographicLatitudeOfReferencePoint);
		result.append(", geographicLongitudeOfReferencePoint: "); //$NON-NLS-1$
		result.append(geographicLongitudeOfReferencePoint);
		result.append(", resolutionAndComponentFlags: "); //$NON-NLS-1$
		result.append(resolutionAndComponentFlags);
		result.append(", scaleFactorAtReferencePoint: "); //$NON-NLS-1$
		result.append(scaleFactorAtReferencePoint);
		result.append(", iDirectionCoordinateOfReferencePoint: "); //$NON-NLS-1$
		result.append(iDirectionCoordinateOfReferencePoint);
		result.append(", jDirectionCoordinateOfReferencePoint: "); //$NON-NLS-1$
		result.append(jDirectionCoordinateOfReferencePoint);
		result.append(", scanningMode: "); //$NON-NLS-1$
		result.append(scanningMode);
		result.append(", iDirectionIncrementLength: "); //$NON-NLS-1$
		result.append(iDirectionIncrementLength);
		result.append(", jDirectionIncrementLength: "); //$NON-NLS-1$
		result.append(jDirectionIncrementLength);
		result.append(", iDirectionCoordinateOfTheFirstGridPoint: "); //$NON-NLS-1$
		result.append(iDirectionCoordinateOfTheFirstGridPoint);
		result.append(", jDirectionCoordinateOfTheFirstGridPoint: "); //$NON-NLS-1$
		result.append(jDirectionCoordinateOfTheFirstGridPoint);
		result.append(", iDirectionCoordinateOfTheLastGridPoint: "); //$NON-NLS-1$
		result.append(iDirectionCoordinateOfTheLastGridPoint);
		result.append(", jDirectionCoordinateOfTheLastGridPoint: "); //$NON-NLS-1$
		result.append(jDirectionCoordinateOfTheLastGridPoint);
		result.append(')');
		return result.toString();
	}

	/* (non-Javadoc)
	 * @see org.mro.grib.model.files.secondEdition.grids.impl.EarthShapeGridDefinitionImpl#initialise(java.nio.ByteBuffer)
	 */
	@Override
	public void initialise(ByteBuffer buffer) {
		super.initialise(buffer);
		numberOfPointsAlongAParallel = buffer.getInt();
		numberOfPointsAlongAMeridian = buffer.getInt();
		geographicLatitudeOfReferencePoint = buffer.getInt();
		geographicLongitudeOfReferencePoint = buffer.getInt();
		resolutionAndComponentFlags = buffer.get();
		scaleFactorAtReferencePoint = buffer.getInt();
		iDirectionCoordinateOfReferencePoint = buffer.getInt();
		jDirectionCoordinateOfReferencePoint = buffer.getInt();
		scanningMode = buffer.get();
		iDirectionIncrementLength = buffer.getInt();
		jDirectionIncrementLength = buffer.getInt();
		iDirectionCoordinateOfTheFirstGridPoint = buffer.getInt();
		jDirectionCoordinateOfTheFirstGridPoint = buffer.getInt();
		iDirectionCoordinateOfTheLastGridPoint = buffer.getInt();
		jDirectionCoordinateOfTheLastGridPoint = buffer.getInt();
	}

} //GridDefinitionTemplate312Impl
